// axios 公共配置
// 基地址
axios.defaults.baseURL = 'http://geek.itheima.net'

// * 目标2：设置个人信息
// * 2.1 在 utils/request.js 设置请求拦截器，统一携带 token
//axios请求拦截器，在发送请求之前，统一设置公共 headers 选项，参数为Bearer token
axios.interceptors.request.use(function (config) {
  const token = localStorage.getItem('token')
  token && (config.headers.Authorization = `Bearer ${token}`)
  return config
}, function (error) {
  return Promise.reject(error)
})

/**
 * 目标3：退出登录
 *  3.1 绑定点击事件
 *  3.2 清空本地缓存，跳转到登录页面
 */
axios.interceptors.response.use(function (response) {
  //响应码2xx触发本函数
  const result = response.data
  return result
}, function (err) {
  if (err?.response?.status === 401) {
    alert('登录状态过期，请重新登录')
    localStorage.clear()
    location.href = '../login/index.html'
  }
  return Promise.reject(err)
})